package com.itheima.a04test;

import java.text.ParseException;
import java.time.LocalDate;
import java.util.Calendar;

public class Test5 {
    public static void main(String[] args) throws ParseException {
         /*
            判断任意的一个年份是闰年还是平年要求:用JDK7和JDK8两种方式判断
            提示:
                二月有29天是闰年
                一年有366天是闰年
        */

        //JDK7
        //我们可以把时间设置为2000年3月1日
        /*Calendar c = Calendar.getInstance();
        c.set(2000,2,1);//月份的范围：0~11
        //再把日历往前减一天
        c.add(Calendar.DAY_OF_MONTH,-1);
        //看当前的时间是28号还是29号
        int day = c.get(Calendar.DAY_OF_MONTH);
        if(day == 29){
            System.out.println("闰年");
        }else {
            System.out.println("平年");
        }*/

        //我们可以把时间设置为2000年1月1日
        Calendar c = Calendar.getInstance();
        c.set(2000,0,1);//月份的范围：0~11
        //再把日历往前减一天
        c.add(Calendar.DAY_OF_MONTH,-1);
        //看一年中有多少天
        int day = c.get(Calendar.DAY_OF_YEAR);
        if(day == 366){
            System.out.println("闰年");
        }else {
            System.out.println("平年");
        }



        //JDK8
        //月份的范围：1~12
        //设定时间为2000年的3月1日
        LocalDate ld = LocalDate.of(2000, 3, 11);
        //把时间往前减一天
        LocalDate ld2 = ld.minusDays(1);
        //获取这一天是一个月中的第几号
        int dayOfMonth = ld2.getDayOfMonth();
        if(dayOfMonth == 29){
            System.out.println("闰年");
        }else {
            System.out.println("平年");
        }

        //true:闰年
        //false:平年
        System.out.println(ld.isLeapYear());
    }
}
